/**
 * [5] 最长回文子串
 * 思路：
 * 1 暴力解法：以开始索引为基准，从 length = 2 设置结束索引，遍历所有子串，输出最长子串
 * 2 中心扩散：
 * 3 动态规划
 * @format
 * @lc app=leetcode.cn id=5 lang=javascript
 */

// @lc code=start
/**
 * @param {string} s
 * @return {string}
 */
var longestPalindrome = function (s) {
    let [index, start, end, length, flag] = [0, 0, 0, 1, true]
    // 从左至右
    for (let i = 0; i < s.length - 1; i++) {
        // 从长到短
        for (let j = s.length - 1; j >= i + length - 1; j--) {
            start = i
            end = j
            flag = true
            while (end > start) {
                s[start] !== s[end] ? (flag = false) : null
                start++
                end--
            }
            if (flag) {
                if (j - i + 1 > length) {
                    index = i
                    length = j - i + 1
                }
                break
            }
        }
    }
    return s.slice(index, index + length)
}
// @lc code=end
debugger
console.log(longestPalindrome("abacdjkfh"))
debugger